﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace Sistema.WF.Componentes.FormulariosBase
{
    public partial class FRM_pesquisa : FRM_pai
    {
        public FRM_pesquisa()
        {
            InitializeComponent();
            
        }

        protected void FRM_pesquisa_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
             // CMD_confirmar_Click(sender, e);
                this.CMD_pesquisa_Click(sender, e);                
            }
        }
        private void setFocus()
        {
            TXT_pesquisa.Focus();
        }
        
        private void CMD_confirmar_Click(object sender, EventArgs e)
        {
            
            Confirmar();
        }


        private void CMD_sair_Click(object sender, EventArgs e)
        {
            this.Close();
            this.Dispose();
        }
        
        protected void CMD_pesquisa_Click(object sender, EventArgs e)
        {
            int IndiceSelecionado = (int) CBO_filtroPesquisa.SelectedValue;
            String ArgumentoPesquisa = TXT_pesquisa.Text;


            // caso nenhum valor informado para consulta
            if (ArgumentoPesquisa.ToString() == string.Empty)
            {
                toolTip1.Show("É nescessario informar um valor de pesquisa para realizar a consulta.", TXT_pesquisa, 3000);
                return;
            }

            Pesquisar(IndiceSelecionado,ArgumentoPesquisa);
        }

        protected virtual void Pesquisar(int ValueMember, String DadosConsulta)
        {
            throw new NotImplementedException();
        }
        protected virtual DictionaryEntry[] CarregaCombo()
        {
            throw new NotImplementedException();
        }

        protected DictionaryEntry[] CarregaMinhaCombo<T>()
        {
            String[] Itens = Enum.GetNames(typeof(T));
            DictionaryEntry[] resultado;
            resultado = new DictionaryEntry[Itens.Length];
            for(Int32 a = 0;a < Itens.Length ; a++)
            {
                resultado[a] = new DictionaryEntry(a, Itens[a]);
            }
            return resultado;
        }

        protected virtual void Confirmar()
        {
            throw new NotImplementedException();
        }

        private void FRM_pesquisa_Load(object sender, EventArgs e)
        {
            this.CBO_filtroPesquisa.DisplayMember = "value";
            this.CBO_filtroPesquisa.ValueMember = "key";
          
            this.setFocus();
        }

        private void TXT_pesquisa_Leave(object sender, EventArgs e)
        {
            if (TXT_pesquisa.Text != string.Empty)
            {
                CMD_pesquisa.Focus();
            }
            else 
            {
                TXT_pesquisa.Focus();
            }
        }

        private void TXT_pesquisa_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                // CMD_confirmar_Click(sender, e);
                this.CMD_pesquisa_Click(sender, e);
            }
        }

        
    }
}
